classdef NARXTrainParam
    properties
        trainBegin    %用于训练的数据的开始索引
        trainEnd      %用于训练的数据的结束索引
        predictBegin  %用于预测的数据的开始索引
        predictEnd     %用于预测的数据的结束索引
        inputDelays   %输入延迟
        feedbackDelays %输出延迟
        hiddenLayerSize %隐藏层神经元数
        trainCount     %训练次数（数据行数）
    end
    methods
        function obj=date_to_index(obj,t)  %将输入的日期转换成索引
            for i=1:obj.trainCount
                if length(obj.trainBegin{i})>1
                    date_input=obj.trainBegin{i};
                    datenum_temp=datenum(date_input(1),date_input(2),date_input(3),...
                        date_input(4),date_input(5),date_input(6));
                    index=find(abs(t-datenum_temp)<0.001);
                    obj.trainBegin{i}=index;
                end
                %
                if length(obj.trainEnd{i})>1
                    date_input=obj.trainEnd{i};
                    datenum_temp=datenum(date_input(1),date_input(2),date_input(3),...
                        date_input(4),date_input(5),date_input(6));
                    index=find(abs(t-datenum_temp)<0.001);
                    obj.trainEnd{i}=index;
                end
                %
                if length(obj.predictBegin{i})>1
                    date_input=obj.predictBegin{i};
                    datenum_temp=datenum(date_input(1),date_input(2),date_input(3),...
                        date_input(4),date_input(5),date_input(6));
                    index=find(abs(t-datenum_temp)<0.001);
                    obj.predictBegin{i}=index;
                end
                %
                if length(obj.predictEnd{i})>1
                    date_input=obj.predictEnd{i};
                    datenum_temp=datenum(date_input(1),date_input(2),date_input(3),...
                        date_input(4),date_input(5),date_input(6));
                    index=find(abs(t-datenum_temp)<0.001);
                    obj.predictEnd{i}=index;
                end
                %
            end
        end
    end
    
end
